```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Spring Boot构建RESTful Web Service指南</title>
    <link href="https://cdn.staticfile.org/tailwindcss/2.2.19/tailwind.min.css" rel="stylesheet">
    <link href="https://cdn.staticfile.org/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/mermaid@latest/dist/mermaid.min.js"></script>
    <style>
        body {
            font-family: 'Noto Sans SC', 'Noto Serif SC', Tahoma, Arial, Roboto, "Droid Sans", "Helvetica Neue", "Droid Sans Fallback", "Heiti SC", "Hiragino Sans GB", Simsun, sans-serif;
            line-height: 1.8;
            color: #333;
            background-color: #f9fafb;
        }
        .hero-gradient {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        }
        .code-block {
            background-color: #2d3748;
            color: #e2e8f0;
            border-radius: 0.5rem;
            overflow-x: auto;
        }
        .code-block-header {
            background-color: #1a202c;
            border-top-left-radius: 0.5rem;
            border-top-right-radius: 0.5rem;
            padding: 0.5rem 1rem;
            color: #a0aec0;
        }
        .hover-scale {
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .hover-scale:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
        }
        .section-divider {
            position: relative;
            height: 80px;
            overflow: hidden;
        }
        .section-divider::before {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            top: 50%;
            height: 1px;
            background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(118,75,162,0.5) 50%, rgba(0,0,0,0) 100%);
        }
        .section-divider .icon-container {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            background-color: #f9fafb;
            padding: 0 1rem;
        }
    </style>
</head>
<body class="antialiased">
    <!-- Hero Section -->
    <section class="hero-gradient text-white py-20 px-4 md:py-32">
        <div class="container mx-auto max-w-6xl px-4">
            <div class="flex flex-col md:flex-row items-center">
                <div class="md:w-1/2 mb-10 md:mb-0">
                    <h1 class="text-4xl md:text-5xl font-bold mb-6 tracking-tight leading-tight">使用Spring Boot</h1>
                    <h2 class="text-3xl md:text-4xl font-semibold mb-6 text-indigo-200">构建RESTful Web Service</h2>
                    <p class="text-xl text-indigo-100 mb-8 max-w-lg">以"约定优于配置"的理念，快速构建高效、可扩展的API服务</p>
                    <div class="flex space-x-4">
                        <a href="#what-is-rest" class="bg-white text-indigo-700 hover:bg-indigo-50 px-6 py-3 rounded-lg font-medium transition duration-300 shadow-md">
                            <i class="fas fa-book-open mr-2"></i>了解RESTful
                        </a>
                        <a href="#spring-boot-rest" class="border-2 border-white text-white hover:bg-white hover:text-indigo-700 px-6 py-3 rounded-lg font-medium transition duration-300">
                            <i class="fas fa-code mr-2"></i>开始构建
                        </a>
                    </div>
                </div>
                <div class="md:w-1/2">
                    <div class="bg-white bg-opacity-10 p-6 rounded-2xl backdrop-blur-sm border border-white border-opacity-20 hover-scale">
                        <div class="mermaid">
                            graph TD
                                A[客户端] -->|HTTP请求| B(Spring Boot应用)
                                B --> C[控制器]
                                C --> D[服务层]
                                D --> E[数据访问层]
                                E --> F[数据库]
                                F --> E
                                E --> D
                                D --> C
                                C --> B
                                B -->|HTTP响应| A
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- What is RESTful Section -->
    <section id="what-is-rest" class="py-16 px-4 bg-white">
        <div class="container mx-auto max-w-6xl px-4">
            <div class="text-center mb-16">
                <span class="inline-block px-4 py-1 bg-indigo-100 text-indigo-700 rounded-full text-sm font-semibold mb-3">概念解析</span>
                <h2 class="text-3xl md:text-4xl font-bold text-gray-800 mb-4">什么是RESTful Web Service?</h2>
                <p class="text-lg text-gray-600 max-w-3xl mx-auto">一种基于HTTP协议的Web服务架构风格，定义了资源导向的API设计规范</p>
            </div>

            <div class="grid md:grid-cols-3 gap-8">
                <!-- Card 1 -->
                <div class="bg-gray-50 p-8 rounded-xl hover-scale border border-gray-200 transition duration-300">
                    <div class="text-indigo-600 text-3xl mb-4">
                        <i class="fas fa-exchange-alt"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-3 text-gray-800">无状态通信</h3>
                    <p class="text-gray-600">每个请求包含所有必要信息，服务器不保存客户端状态，提高了可扩展性和可靠性。</p>
                </div>
                
                <!-- Card 2 -->
                <div class="bg-gray-50 p-8 rounded-xl hover-scale border border-gray-200 transition duration-300">
                    <div class="text-indigo-600 text-3xl mb-4">
                        <i class="fas fa-sitemap"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-3 text-gray-800">资源导向</h3>
                    <p class="text-gray-600">通过URI标识资源，使用标准的HTTP方法(GET,POST,PUT,DELETE)操作资源，结构清晰。</p>
                </div>
                
                <!-- Card 3 -->
                <div class="bg-gray-50 p-8 rounded-xl hover-scale border border-gray-200 transition duration-300">
                    <div class="text-indigo-600 text-3xl mb-4">
                        <i class="fas fa-project-diagram"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-3 text-gray-800">统一接口</h3>
                    <p class="text-gray-600">使用标准HTTP方法和状态码，简化了客户端和服务器的交互，降低学习成本。</p>
                </div>
            </div>
        </div>
    </section>

    <!-- Divider -->
    <div class="section-divider bg-gray-50">
        <div class="icon-container">
            <i class="fas fa-arrow-down text-indigo-500 text-2xl"></i>
        </div>
    </div>

    <!-- Build with Spring Boot Section -->
    <section id="spring-boot-rest" class="py-20 px-4 bg-gray-50">
        <div class="container mx-auto max-w-6xl px-4">
            <div class="text-center mb-16">
                <span class="inline-block px-4 py-1 bg-indigo-100 text-indigo-700 rounded-full text-sm font-semibold mb-3">实践指南</span>
                <h2 class="text-3xl md:text-4xl font-bold text-gray-800 mb-4">使用Spring Boot构建RESTful Web Service</h2>
                <p class="text-lg text-gray-600 max-w-3xl mx-auto">通过几个简单步骤，快速搭建功能完备的REST API服务</p>
            </div>

            <div class="mb-20">
                <h3 class="text-2xl font-bold mb-6 text-gray-800 flex items-center">
                    <span class="w-8 h-8 bg-indigo-600 text-white rounded-full flex items-center justify-center mr-3">1</span>
                    创建Spring Boot项目
                </h3>
                <p class="text-gray-700 mb-6">使用 <a href="https://start.spring.io/" class="text-indigo-600 hover:underline font-medium" target="_blank">Spring Initializr</a> 快速生成项目骨架，选择以下核心依赖：</p>
                
                <div class="grid md:grid-cols-3 gap-4 mb-8">
                    <div class="bg-white p-4 rounded-lg border border-gray-200 shadow-sm">
                        <div class="flex items-center mb-2">
                            <i class="fas fa-globe text-indigo-500 mr-2"></i>
                            <h4 class="font-semibold">Spring Web</h4>
                        </div>
                        <p class="text-sm text-gray-600">用于构建Web应用的基础模块</p>
                    </div>
                    <div class="bg-white p-4 rounded-lg border border-gray-200 shadow-sm">
                        <div class="flex items-center mb-2">
                            <i class="fas fa-database text-indigo-500 mr-2"></i>
                            <h4 class="font-semibold">Spring Data JPA</h4>
                        </div>
                        <p class="text-sm text-gray-600">简化数据访问层的开发</p>
                    </div>
                    <div class="bg-white p-4 rounded-lg border border-gray-200 shadow-sm">
                        <div class="flex items-center mb-2">
                            <i class="fas fa-server text-indigo-500 mr-2"></i>
                            <h4 class="font-semibold">H2 Database</h4>
                        </div>
                        <p class="text-sm text-gray-600">嵌入式数据库，适合开发和测试</p>
                    </div>
                </div>
            </div>

            <div class="mb-20">
                <h3 class="text-2xl font-bold mb-6 text-gray-800 flex items-center">
                    <span class="w-8 h-8 bg-indigo-600 text-white rounded-full flex items-center justify-center mr-3">2</span>
                    项目结构
                </h3>
                <p class="text-gray-700 mb-6">标准的Maven项目结构，遵循Spring Boot最佳实践：</p>
                
                <div class="code-block mb-8">
                    <div class="code-block-header flex items-center">
                        <div class="w-3 h-3 rounded-full bg-red-500 mr-2"></div>
                        <div class="w-3 h-3 rounded-full bg-yellow-500 mr-2"></div>
                        <div class="w-3 h-3 rounded-full bg-green-500 mr-2"></div>
                        <span class="ml-2">项目结构</span>
                    </div>
                    <pre class="p-4 text-sm overflow-x-auto"><code>ts-rest-service
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── ts
│   │   │           ├── controller
│   │   │           ├── model
│   │   │           ├── repository
│   │   │           └── service
│   │   └── resources
│   │       ├── application.properties
│   │       └── data.sql
│   └── test
│       └── java
└── pom.xml</code></pre>
                </div>
            </div>

            <div class="mb-20">
                <h3 class="text-2xl font-bold mb-6 text-gray-800 flex items-center">
                    <span class="w-8 h-8 bg-indigo-600 text-white rounded-full flex items-center justify-center mr-3">3</span>
                    配置数据源
                </h3>
                <p class="text-gray-700 mb-6">在 <code>application.properties</code> 中配置H2嵌入式数据库：</p>
                
                <div class="code-block mb-8">
                    <div class="code-block-header flex items-center">
                        <div class="w-3 h-3 rounded-full bg-red-500 mr-2"></div>
                        <div class="w-3 h-3 rounded-full bg-yellow-500 mr-2"></div>
                        <div class="w-3 h-3 rounded-full bg-green-500 mr-2"></div>
                        <span class="ml-2">application.properties</span>
                    </div>
                    <pre class="p-4 text-sm overflow-x-auto"><code>spring.datasource.url=jdbc:h2:mem:tsdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.h2.console.enabled=true
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=update</code></pre>
                </div>
            </div>

            <div class="mb-20">
                <h3 class="text-2xl font-bold mb-6 text-gray-800 flex items-center">
                    <span class="w-8 h-8 bg-indigo-600 text-white rounded-full flex items-center justify-center mr-3">4</span>
                    定义实体类
                </h3>
                <p class="text-gray-700 mb-6">在 <code>model</code> 包中定义JPA实体类，表示业务数据：</p>
                
                <div class="code-block mb-8">
                    <div class="code-block-header flex items-center">
                        <div class="w-3 h-3 rounded-full bg-red-500 mr-2"></div>
                        <div class="w-3 h-3 rounded-full bg-yellow-500 mr-2"></div>
                        <div class="w-3 h-3 rounded-full bg-green-500 mr-2"></div>
                        <span class="ml-2">User.java</span>
                    </div>
                    <pre class="p-4 text-sm overflow-x-auto"><code>package com.ts.model;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private String email;

    // Getters and Setters
}</code></pre>
                </div>
            </div>

            <div class="mb-20">
                <h3 class="text-2xl font-bold mb-6 text-gray-800 flex items-center">
                    <span class="w-8 h-8 bg-indigo-600 text-white rounded-full flex items-center justify-center mr-3">5</span>
                    定义仓库接口
                </h3>
                <p class="text-gray-700 mb-6">在 <code>repository</code> 包中定义数据访问接口，继承 <code>JpaRepository</code>：</p>
                
                <div class="code-block mb-8">
                    <div class="code-block-header flex items-center">
                        <div class="w-3 h-3 rounded-full bg-red-500 mr-2"></div>
                        <div class="w-3 h-3 rounded-full bg-yellow-500 mr-2"></div>
                        <div class="w-3 h-3 rounded-full bg-green-500 mr-2"></div>
                        <span class="ml-2">UserRepository.java</span>
                    </div>
                    <pre class="p-4 text-sm overflow-x-auto"><code>package com.ts.repository;

import com.ts.model.User;
import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository&lt;User, Long&gt; {
}</code></pre>
                </div>
            </div>

            <div class="mb-20">
                <h3 class="text-2xl font-bold mb-6 text-gray-800 flex items-center">
                    <span class="w-8 h-8 bg-indigo-600 text-white rounded-full flex items-center justify-center mr-3">6</span>
                    定义服务类
                </h3>
                <p class="text-gray-700 mb-6">在 <code>service</code> 包中实现业务逻辑：</p>
                
                <div class="code-block mb-8">
                    <div class="code-block-header flex items-center">
                        <div class="w-3 h-3 rounded-full bg-red-500 mr-2"></div>
                        <div class="w-3 h-3 rounded-full bg-yellow-500 mr-2"></div>
                        <div class="w-3 h-3 rounded-full bg-green-500 mr-2"></div>
                        <span class="ml-2">UserService.java</span>
                    </div>
                    <pre class="p-4 text-sm overflow-x-auto"><code>package com.ts.service;

import com.ts.model.User;
import com.ts.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Optional;

@Service
public class UserService {

    @Autowired
    private UserRepository userRepository;

    public List&lt;User&gt; getAllUsers() {
        return userRepository.findAll();
    }

    public Optional&lt;User&gt; getUserById(Long id) {
        return userRepository.findById(id);
    }

    public User createUser(User user) {
        return userRepository.save(user);
    }

    public User updateUser(Long id, User userDetails) {
        User user = userRepository.findById(id).orElseThrow(() -&gt; new RuntimeException("User not found"));
        user.setName(userDetails.getName());
        user.setEmail(userDetails.getEmail());
        return userRepository.save(user);
    }

    public void deleteUser(Long id) {
        userRepository.deleteById(id);
    }
}</code></pre>
                </div>
            </div>

            <div class="mb-20">
                <h3 class="text-2xl font-bold mb-6 text-gray-800 flex items-center">
                    <span class="w-8 h-8 bg-indigo-600 text-white rounded-full flex items-center justify-center mr-3">7</span>
                    定义控制器类
                </h3>
                <p class="text-gray-700 mb-6">在 <code>controller</code> 包中定义REST控制器，处理HTTP请求：</p>
                
                <div class="code-block mb-8">
                    <div class="code-block-header flex items-center">
                        <div class="w-3 h-3 rounded-full bg-red-500 mr-2"></div>
                        <div class="w-3 h-3 rounded-full bg-yellow-500 mr-2"></div>
                        <div class="w-3 h-3 rounded-full bg-green-500 mr-2"></div>
                        <span class="ml-2">UserController.java</span>
                    </div>
                    <pre class="p-4 text-sm overflow-x-auto"><code>package com.ts.controller;

import com.ts.model.User;
import com.ts.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Optional;

@RestController
@RequestMapping("/users")
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping
    public List&lt;User&gt; getAllUsers() {
        return userService.getAllUsers();
    }

    @GetMapping("/{id}")
    public Optional&lt;User&gt; getUserById(@PathVariable Long id) {
        return userService.getUserById(id);
    }

    @PostMapping
    public User createUser(@RequestBody User user) {
        return userService.createUser(user);
    }

    @PutMapping("/{id}")
    public User updateUser(@PathVariable Long id, @RequestBody User userDetails) {
        return userService.updateUser(id, userDetails);
    }

    @DeleteMapping("/{id}")
    public void deleteUser(@PathVariable Long id) {
        userService.deleteUser(id);
    }
}</code></pre>
                </div>
            </div>

            <div class="mb-20">
                <h3 class="text-2xl font-bold mb-6 text-gray-800 flex items-center">
                    <span class="w-8 h-8 bg-indigo-600 text-white rounded-full flex items-center justify-center mr-3">8</span>
                    运行和测试
                </h3>
                <p class="text-gray-700 mb-6">启动Spring Boot应用，访问 <code>http://localhost:8080/users</code> 测试API：</p>
                
                <div class="bg-white p-6 rounded-xl border border-gray-200 shadow-sm mb-8">
                    <div class="flex mb-4">
                        <div class="w-1/3 font-semibold">HTTP方法</div>
                        <div class="w-1/3 font-semibold">URL</div>
                        <div class="w-1/3 font-semibold">描述</div>
                    </div>
                    <div class="border-t border-gray-200 pt-4">
                        <div class="flex mb-3">
                            <div class="w-1/3"><span class="px-2 py-1 bg-green-100 text-green-800 rounded text-xs font-mono">GET</span></div>
                            <div class="w-1/3 font-mono">/users</div>
                            <div class="w-1/3">获取所有用户</div>
                        </div>
                        <div class="flex mb-3">
                            <div class="w-1/3"><span class="px-2 py-1 bg-green-100 text-green-800 rounded text-xs font-mono">GET</span></div>
                            <div class="w-1/3 font-mono">/users/{id}</div>
                            <div class="w-1/3">获取指定ID的用户</div>
                        </div>
                        <div class="flex mb-3">
                            <div class="w-1/3"><span class="px-2 py-1 bg-blue-100 text-blue-800 rounded text-xs font-mono">POST</span></div>
                            <div class="w-1/3 font-mono">/users</div>
                            <div class="w-1/3">创建新用户</div>
                        </div>
                        <div class="flex mb-3">
                            <div class="w-1/3"><span class="px-2 py-1 bg-yellow-100 text-yellow-800 rounded text-xs font-mono">PUT</span></div>
                            <div class="w-1/3 font-mono">/users/{id}</div>
                            <div class="w-1/3">更新指定ID的用户</div>
                        </div>
                        <div class="flex">
                            <div class="w-1/3"><span class="px-2 py-1 bg-red-100 text-red-800 rounded text-xs font-mono">DELETE</span></div>
                            <div class="w-1/3 font-mono">/users/{id}</div>
                            <div class="w-1/3">删除指定ID的用户</div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- Real World Applications -->
    <section class="py-20 px-4 bg-indigo-50">
        <div class="container mx-auto max-w-6xl px-4">
            <div class="text-center mb-16">
                <span class="inline-block px-4 py-1 bg-indigo-100 text-indigo-700 rounded-full text-sm font-semibold mb-3">实战应用</span>
                <h2 class="text-3xl md:text-4xl font-bold text-gray-800 mb-4">实际项目中的RESTful API应用</h2>
                <p class="text-lg text-gray-600 max-w-3xl mx-auto">Spring Boot RESTful API在各种项目中的优化与实践</p>
            </div>

            <div class="grid md:grid-cols-3 gap-8">
                <!-- Card 1 -->
                <div class="bg-white p-8 rounded-xl hover-scale transition duration-300 shadow-md">
                    <div class="text-indigo-600 text-3xl mb-4">
                        <i class="fas fa-users"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-3 text-gray-800">用户管理系统</h3>
                    <p class="text-gray-600 mb-4">在 <code>ts-web</code> 项目中，通过 <code>UserController</code>、<code>UserService</code> 和 <code>UserRepository</code> 实现了完整的用户增删改查功能。</p>
                    <div class="text-indigo-600 text-sm font-medium">
                        <i class="fas fa-check-circle mr-1"></i> CRUD操作
                    </div>
                    <div class="text-indigo-600 text-sm font-medium mt-1">
                        <i class="fas fa-check-circle mr-1"></i> 数据验证
                    </div>
                    <div class="text-indigo-600 text-sm font-medium mt-1">
                        <i class="fas fa-check-circle mr-1"></i> 异常处理
                    </div>
                </div>
                
                <!-- Card 2 -->
                <div class="bg-white p-8 rounded-xl hover-scale transition duration-300 shadow-md">
                    <div class="text-indigo-600 text-3xl mb-4">
                        <i class="fas fa-link"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-3 text-gray-800">HATEOAS优化</h3>
                    <p class="text-gray-600 mb-4">在 <code>ts-api</code> 项目中，使用HATEOAS实现资源的自描述性，通过添加链接信息使客户端能动态发现和操作资源。</p>
                    <div class="text-indigo-600 text-sm font-medium">
                        <i class="fas fa-check-circle mr-1"></i> 超媒体驱动
                    </div>
                    <div class="text-indigo-600 text-sm font-medium mt-1">
                        <i class="fas fa-check-circle mr-1"></i> 自描述API
                    </div>
                    <div class="text-indigo-600 text-sm font-medium mt-1">
                        <i class="fas fa-check-circle mr-1"></i> 客户端导航
                    </div>
                </div>
                
                <!-- Card 3 -->
                <div class="bg-white p-8 rounded-xl hover-scale transition duration-300 shadow-md">
                    <div class="text-indigo-600 text-3xl mb-4">
                        <i class="fas fa-table"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-3 text-gray-800">分页与排序</h3>
                    <p class="text-gray-600 mb-4">在 <code>ts-mobile</code> 项目中，扩展 <code>PagingAndSortingRepository</code> 实现分页和排序功能，提高大数据量查询效率。</p>
                    <div class="text-indigo-600 text-sm font-medium">
                        <i class="fas fa-check-circle mr-1"></i> 分页查询
                    </div>
                    <div class="text-indigo-600 text-sm font-medium mt-1">
                        <i class="fas fa-check-circle mr-1"></i> 多字段排序
                    </div>
                    <div class="text-indigo-600 text-sm font-medium mt-1">
                        <i class="fas fa-check-circle mr-1"></i> 性能优化
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- Footer -->
    <footer class="bg-gray-900 text-white py-12 px-4">
        <div class="container mx-auto max-w-6xl px-4">
            <div class="flex flex-col md:flex-row justify-between items-center">
                <div class="mb-6 md:mb-0">
                    <h3 class="text-xl font-bold mb-2">技术小馆</h3>
                    <p class="text-gray-400">专业的Java技术分享平台</p>
                </div>
                <div>
                    <a href="http://www.yuque.com/jtostring" class="text-indigo-400 hover:text-white transition duration-300" target="_blank">
                        <i class="fas fa-external-link-alt mr-2"></i> http://www.yuque.com/jtostring
                    </a>
                </div>
            </div>
            <div class="border-t border-gray-800 mt-8 pt-8 text-center text-gray-500 text-sm">
                &copy; 2023 技术小馆. 保留所有权利.
            </div>
        </div>
    </footer>

    <script>
        mermaid.initialize({
            startOnLoad: true,
            theme: 'default',
            flowchart: {
                useMaxWidth: true,
                htmlLabels: true,
                curve: 'basis'
            }
        });
    </script>
</body>
</html>
```